package com.gmail.ceac13;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class NovoUsuarioActivity extends Activity{
	EditText nome;
	EditText email;
	EditText senha;
	EditText reSenha;
	ImageView foto;
	Button registrar;
	Button botaoEnviarFoto;
	public ProgressDialog dialog;
	
	boolean resultado;
	SharedPreferences settings;
	String endServer;
	public void onCreate(Bundle savedInstanceState) {
		
        super.onCreate(savedInstanceState);
        
        settings = getSharedPreferences("ConnectMe",MODE_PRIVATE);
    	endServer = settings.getString("servidor", "http://connectme.scienceontheweb.net/");
        
        setContentView(R.layout.novousuario);
        nome = (EditText) findViewById(R.id.nome_novo_usuario);
        email = (EditText) findViewById(R.id.email_novo_usuario);
        senha = (EditText) findViewById(R.id.senha_novo_usuario);
        reSenha = (EditText) findViewById(R.id.re_senha_novo_usuario);
        foto = (ImageView) findViewById(R.id.foto_novo_usuario);
        foto.setImageResource(R.drawable.usuariopadrao);
        
        botaoEnviarFoto = (Button)findViewById(R.id.botao_foto);
        this.botaoEnviarFoto.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				exibirAlertDialogAddFoto();
			}
		});
        
        registrar = (Button) findViewById(R.id.botaoCriarNovoUsuario);
        registrar.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				adicionar();
			}
		});
	}
	
	public void exibirAlertDialogAddFoto() {
		AlertDialog.Builder alert = new AlertDialog.Builder(this);

    	alert.setTitle("Adicionar Foto");
    	alert.setMessage("Escolha entre imagens já armazenada ou se sera uma imagem da câmera.");
    	
    	
    	alert.setPositiveButton("Arquivo", new DialogInterface.OnClickListener() {
        	  public void onClick(DialogInterface dialog, int whichButton) {
        		  
        		 Intent intent = new Intent(NovoUsuarioActivity.this, FotosCartaoActivity.class);
      			 startActivity(intent);
        	 
        	  }
        	});
    	
    	alert.setNegativeButton("Câmera", new DialogInterface.OnClickListener() {
    		public void onClick(DialogInterface dialog, int whichButton) {
    		  
      		Intent intent = new Intent(NovoUsuarioActivity.this, FotosCameraActivity.class);
    		startActivity(intent);
      	 
      	  }

      	});
    	
    	alert.show();
		
	}
	
	private void adicionar() {
		dialog = ProgressDialog.show(this, null, "Por favor aguarde.");
		adicionarUsuario();
	}
	
	public void adicionarUsuario() {
		
		new Thread() {
			@Override
			public void run() {
				if (nome.getText().toString().equals("") || 
						email.getText().toString().equals("") || 
						senha.getText().toString().equals("") || 
						reSenha.getText().toString().equals("")) {
					Toast t = Toast.makeText(NovoUsuarioActivity.this, "Todos os campos devem ser preenchidos.", Toast.LENGTH_LONG);
					t.show();
					resultado = false;
				}
				else {
			        if (senha.getText().toString().equals(reSenha.getText().toString())) {
			        	if (Servidor.registrarUsuario(nome.getText().toString(), email.getText().toString(), senha.getText().toString(), endServer)) {
							resultado = true;
			        	}
			        	else {
			        		Toast t = Toast.makeText(NovoUsuarioActivity.this, "Ocorreu um erro na tentativa de registro, por favor tente mais tarde.", Toast.LENGTH_LONG);
							t.show();
							resultado = false;
			        	}
			        }
			        else {
			        	Toast t = Toast.makeText(NovoUsuarioActivity.this, "As senhas informadas não batem.", Toast.LENGTH_LONG);
						t.show();
						resultado = false;
			        }
				}
				resultado();
			}
		}.start();
	}
	
	public void resultado() {
		dialog.dismiss();
		if (resultado) {
			resultado = false;
			Intent intent = new Intent(NovoUsuarioActivity.this, LoginActivity.class);
			startActivity(intent);
		}
	}
}


